#ifndef _GrphStateDI_h
#define _GrphStateDI_h

#include "CxxUtils.h"
#include "LangUtils.h"

class DoOpGrphStateDI
{
public: 
	class ds_gsave : public _DoOperator
	{
	protected: 
		ds_gsave(const ds_gsave &);
		ds_gsave& operator=(const ds_gsave &);
	public: 
		ds_gsave() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_grestore : public _DoOperator
	{
	protected: 
		ds_grestore(const ds_grestore &);
		ds_grestore& operator=(const ds_grestore &);
	public: 
		ds_grestore() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_clipsave : public _DoOperator
	{
	protected: 
		ds_clipsave(const ds_clipsave &);
		ds_clipsave& operator=(const ds_clipsave &);
	public: 
		ds_clipsave() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_cliprestore : public _DoOperator
	{
	protected: 
		ds_cliprestore(const ds_cliprestore &);
		ds_cliprestore& operator=(const ds_cliprestore &);
	public: 
		ds_cliprestore() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_grestoreall : public _DoOperator
	{
	protected: 
		ds_grestoreall(const ds_grestoreall &);
		ds_grestoreall& operator=(const ds_grestoreall &);
	public: 
		ds_grestoreall() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_initgraphics : public _DoOperator
	{
	protected: 
		ds_initgraphics(const ds_initgraphics &);
		ds_initgraphics& operator=(const ds_initgraphics &);
	public: 
		ds_initgraphics() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_gstate : public _DoOperator
	{
	protected: 
		ds_gstate(const ds_gstate &);
		ds_gstate& operator=(const ds_gstate &);
	public: 
		ds_gstate() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setgstate : public _DoOperator
	{
	protected: 
		ds_setgstate(const ds_setgstate &);
		ds_setgstate& operator=(const ds_setgstate &);
	public: 
		ds_setgstate() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentgstate : public _DoOperator
	{
	protected: 
		ds_currentgstate(const ds_currentgstate &);
		ds_currentgstate& operator=(const ds_currentgstate &);
	public: 
		ds_currentgstate() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setlinewidth : public _DoOperator
	{
	protected: 
		ds_setlinewidth(const ds_setlinewidth &);
		ds_setlinewidth& operator=(const ds_setlinewidth &);
	public: 
		ds_setlinewidth() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentlinewidth : public _DoOperator
	{
	protected: 
		ds_currentlinewidth(const ds_currentlinewidth &);
		ds_currentlinewidth& operator=(const ds_currentlinewidth &);
	public: 
		ds_currentlinewidth() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setlinecap : public _DoOperator
	{
	protected: 
		ds_setlinecap(const ds_setlinecap &);
		ds_setlinecap& operator=(const ds_setlinecap &);
	public: 
		ds_setlinecap() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentlinecap : public _DoOperator
	{
	protected: 
		ds_currentlinecap(const ds_currentlinecap &);
		ds_currentlinecap& operator=(const ds_currentlinecap &);
	public: 
		ds_currentlinecap() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setlinejoin : public _DoOperator
	{
	protected: 
		ds_setlinejoin(const ds_setlinejoin &);
		ds_setlinejoin& operator=(const ds_setlinejoin &);
	public: 
		ds_setlinejoin() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentlinejoin : public _DoOperator
	{
	protected: 
		ds_currentlinejoin(const ds_currentlinejoin &);
		ds_currentlinejoin& operator=(const ds_currentlinejoin &);
	public: 
		ds_currentlinejoin() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setmiterlimit : public _DoOperator
	{
	protected: 
		ds_setmiterlimit(const ds_setmiterlimit &);
		ds_setmiterlimit& operator=(const ds_setmiterlimit &);
	public: 
		ds_setmiterlimit() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentmiterlimit : public _DoOperator
	{
	protected: 
		ds_currentmiterlimit(const ds_currentmiterlimit &);
		ds_currentmiterlimit& operator=(const ds_currentmiterlimit &);
	public: 
		ds_currentmiterlimit() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setstrokeadjust : public _DoOperator
	{
	protected: 
		ds_setstrokeadjust(const ds_setstrokeadjust &);
		ds_setstrokeadjust& operator=(const ds_setstrokeadjust &);
	public: 
		ds_setstrokeadjust() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentstrokeadjust : public _DoOperator
	{
	protected: 
		ds_currentstrokeadjust(const ds_currentstrokeadjust &);
		ds_currentstrokeadjust& operator=(const ds_currentstrokeadjust &);
	public: 
		ds_currentstrokeadjust() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setdash : public _DoOperator
	{
	protected: 
		ds_setdash(const ds_setdash &);
		ds_setdash& operator=(const ds_setdash &);
	public: 
		ds_setdash() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentdash : public _DoOperator
	{
	protected: 
		ds_currentdash(const ds_currentdash &);
		ds_currentdash& operator=(const ds_currentdash &);
	public: 
		ds_currentdash() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setcolorspace : public _DoOperator
	{
	protected: 
		ds_setcolorspace(const ds_setcolorspace &);
		ds_setcolorspace& operator=(const ds_setcolorspace &);
	public: 
		ds_setcolorspace() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentcolorspace : public _DoOperator
	{
	protected: 
		ds_currentcolorspace(const ds_currentcolorspace &);
		ds_currentcolorspace& operator=(const ds_currentcolorspace &);
	public: 
		ds_currentcolorspace() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setcolor : public _DoOperator
	{
	protected: 
		ds_setcolor(const ds_setcolor &);
		ds_setcolor& operator=(const ds_setcolor &);
	public: 
		ds_setcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentcolor : public _DoOperator
	{
	protected: 
		ds_currentcolor(const ds_currentcolor &);
		ds_currentcolor& operator=(const ds_currentcolor &);
	public: 
		ds_currentcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setgray : public _DoOperator
	{
	protected: 
		ds_setgray(const ds_setgray &);
		ds_setgray& operator=(const ds_setgray &);
	public: 
		ds_setgray() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentgray : public _DoOperator
	{
	protected: 
		ds_currentgray(const ds_currentgray &);
		ds_currentgray& operator=(const ds_currentgray &);
	public: 
		ds_currentgray() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_sethsbcolor : public _DoOperator
	{
	protected: 
		ds_sethsbcolor(const ds_sethsbcolor &);
		ds_sethsbcolor& operator=(const ds_sethsbcolor &);
	public: 
		ds_sethsbcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currenthsbcolor : public _DoOperator
	{
	protected: 
		ds_currenthsbcolor(const ds_currenthsbcolor &);
		ds_currenthsbcolor& operator=(const ds_currenthsbcolor &);
	public: 
		ds_currenthsbcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setrgbcolor : public _DoOperator
	{
	protected: 
		ds_setrgbcolor(const ds_setrgbcolor &);
		ds_setrgbcolor& operator=(const ds_setrgbcolor &);
	public: 
		ds_setrgbcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentrgbcolor : public _DoOperator
	{
	protected: 
		ds_currentrgbcolor(const ds_currentrgbcolor &);
		ds_currentrgbcolor& operator=(const ds_currentrgbcolor &);
	public: 
		ds_currentrgbcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_setcmykcolor : public _DoOperator
	{
	protected: 
		ds_setcmykcolor(const ds_setcmykcolor &);
		ds_setcmykcolor& operator=(const ds_setcmykcolor &);
	public: 
		ds_setcmykcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	class ds_currentcmykcolor : public _DoOperator
	{
	protected: 
		ds_currentcmykcolor(const ds_currentcmykcolor &);
		ds_currentcmykcolor& operator=(const ds_currentcmykcolor &);
	public: 
		ds_currentcmykcolor() : _DoOperator() {
		}

		virtual void execute(DevilSemantic &semantic);
	};

	static void push(_DoDictionaryMultimap& dict) {
		dict.put(CRefPtr< _DoObject >(new DoName("gsave")), CRefPtr< _DoObject >(new ds_gsave()));
		dict.put(CRefPtr< _DoObject >(new DoName("grestore")), CRefPtr< _DoObject >(new ds_grestore()));
		dict.put(CRefPtr< _DoObject >(new DoName("clipsave")), CRefPtr< _DoObject >(new ds_clipsave()));
		dict.put(CRefPtr< _DoObject >(new DoName("cliprestore")), CRefPtr< _DoObject >(new ds_cliprestore()));
		dict.put(CRefPtr< _DoObject >(new DoName("grestoreall")), CRefPtr< _DoObject >(new ds_grestoreall()));
		dict.put(CRefPtr< _DoObject >(new DoName("initgraphics")), CRefPtr< _DoObject >(new ds_initgraphics()));
		dict.put(CRefPtr< _DoObject >(new DoName("gstate")), CRefPtr< _DoObject >(new ds_gstate()));
		dict.put(CRefPtr< _DoObject >(new DoName("setgstate")), CRefPtr< _DoObject >(new ds_setgstate()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentgstate")), CRefPtr< _DoObject >(new ds_currentgstate()));
		dict.put(CRefPtr< _DoObject >(new DoName("setlinewidth")), CRefPtr< _DoObject >(new ds_setlinewidth()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentlinewidth")), CRefPtr< _DoObject >(new ds_currentlinewidth()));
		dict.put(CRefPtr< _DoObject >(new DoName("setlinecap")), CRefPtr< _DoObject >(new ds_setlinecap()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentlinecap")), CRefPtr< _DoObject >(new ds_currentlinecap()));
		dict.put(CRefPtr< _DoObject >(new DoName("setlinejoin")), CRefPtr< _DoObject >(new ds_setlinejoin()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentlinejoin")), CRefPtr< _DoObject >(new ds_currentlinejoin()));
		dict.put(CRefPtr< _DoObject >(new DoName("setmiterlimit")), CRefPtr< _DoObject >(new ds_setmiterlimit()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentmiterlimit")), CRefPtr< _DoObject >(new ds_currentmiterlimit()));
		dict.put(CRefPtr< _DoObject >(new DoName("setstrokeadjust")), CRefPtr< _DoObject >(new ds_setstrokeadjust()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentstrokeadjust")), CRefPtr< _DoObject >(new ds_currentstrokeadjust()));
		dict.put(CRefPtr< _DoObject >(new DoName("setdash")), CRefPtr< _DoObject >(new ds_setdash()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentdash")), CRefPtr< _DoObject >(new ds_currentdash()));
		dict.put(CRefPtr< _DoObject >(new DoName("setcolorspace")), CRefPtr< _DoObject >(new ds_setcolorspace()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentcolorspace")), CRefPtr< _DoObject >(new ds_currentcolorspace()));
		dict.put(CRefPtr< _DoObject >(new DoName("setcolor")), CRefPtr< _DoObject >(new ds_setcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentcolor")), CRefPtr< _DoObject >(new ds_currentcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("setgray")), CRefPtr< _DoObject >(new ds_setgray()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentgray")), CRefPtr< _DoObject >(new ds_currentgray()));
		dict.put(CRefPtr< _DoObject >(new DoName("sethsbcolor")), CRefPtr< _DoObject >(new ds_sethsbcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("currenthsbcolor")), CRefPtr< _DoObject >(new ds_currenthsbcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("setrgbcolor")), CRefPtr< _DoObject >(new ds_setrgbcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentrgbcolor")), CRefPtr< _DoObject >(new ds_currentrgbcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("setcmykcolor")), CRefPtr< _DoObject >(new ds_setcmykcolor()));
		dict.put(CRefPtr< _DoObject >(new DoName("currentcmykcolor")), CRefPtr< _DoObject >(new ds_currentcmykcolor()));
	}
};

#endif
